<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // 封装unshift    
        // 分析：unshift(1)   unshift(1,2)   unshift(1,2,34,,566) ....   unshift可以无限传参

        // 功能：你给我一个数组，然后给我一些值，我帮你把这些值添加到数组的头部

        function unshift(arr) {
            // 搞一个新的数组
            var arr2 = [] ;
            // 先把4 5 6 7放入新的数组
            // arguments[0] 是原数组，我们是需要把后面的值放入新的数组，所以i从1开始的
            for(var i = 1 ; i < arguments.length ; i++) {
                arr2.push(arguments[i]) ;
            }
            // 再把原数组[1,2,3]放入新的数组
            for(var i = 0 ; i < arr.length ; i++) {
                arr2.push(arr[i]) ;
            }
            return arr2
        }


        console.log(unshift([1,2,3] , 4,5,6,7)) ;








        // 封装push    
        // 分析：push(1)   push(1,2)   push(1,2,34,,566) ....   push可以无限传参

        // 功能：你给我一个数组，然后给我一些值，我帮你把这些值添加到数组的尾部


        function push(arr) {
            // 遍历实参列表，从第二个开始(因为第一个实参是原数组)
            for(var i = 1 ; i < arguments.length ; i++) {
                // 数组的长度在不断的增加
                arr[arr.length] = arguments[i] ;
            }
            return arr
        }

        console.log(push([1,2,3] , 'a' , 'b' , 'c')) ;



        // var arr = [1,2,3] ;
        // // arr[3] = 4 ;
        // arr[arr.length] = 4 ;





        function pop(arr) {
            // var arr2 = [] ;
            // // 把数组中除最后一个意外的值存入新的数组
            // for(var i = 0 ; i < arr.length - 1 ; i++) {
            //     arr2.push(arr) ;
            // }
            // return arr2 ;

            arr.length = arr.length - 1 ;
            
        } 

    </script>
    
</body>
</html>